package service;

import Dao.UserDao;
import model.Goods;
import model.User;
import model.Page;

import java.sql.SQLException;
import java.util.List;

public class UserService {
    private UserDao uDao = new UserDao();

    public List<User> GetAllUser()
    {
        List<User> list=null;
        try {
            list=uDao.GetAllUser();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
    public boolean register(User user) {
        // 检查用户名是否已存在
        if (uDao.isUsernameExist(user.getUsername())) {
            return false;
        }
        // 检查邮箱是否已存在
        if (uDao.isEmailExist(user.getEmail())) {
            return false;
        }
        // 将用户信息保存到数据库
        return uDao.addUser(user);
    }

    // 修改方法，返回具体的错误信息
    public String getRegisterResultMessage(boolean isSuccess, String username, String email) {
        if (isSuccess) {
            return "注册成功，请登录！";
        } else if (uDao.isUsernameExist(username)) {
            return "用户名已存在，请重新填写！";
        } else if (uDao.isEmailExist(email)) {
            return "邮箱已存在，请重新填写！";
        } else {
            return "注册失败，请重试！";
        }
    }

    // 添加登录方法
    public User login(String username, String password) {

        return uDao.selectByUsernamePassword(username, password);
    }



    //管理员删除用户
    public boolean delete(int id) {
        try {
            uDao.delete(id);
            return true;
        } catch (SQLException e) {
            e.printStackTrace();
            return false;
        }
    }
    // 更新用户信息
    public boolean updateUser(User user) {
        return uDao.updateUser(user);
    }

    // 验证用户密码
    public boolean verifyPassword(int userId, String password) {
        return uDao.verifyPassword(userId, password);
    }

    // 更新用户密码
    public boolean updatePassword(int userId, String newPassword) {
        return uDao.updatePassword(userId, newPassword);

    }
}
